热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

射线|子弹_Ruby‘sAdventrue游戏制作笔记(十五)UnityNPC对话

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Ruby‘sAdventrue游戏制作笔记(十五)UnityNPC对话相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Ruby‘s Adventrue游戏制作笔记(十五)UnityNPC对话相关的知识,希望对你有一定的参考价值。



Ruby's Adventrue游戏制作笔记(十五)UnityNPC对话


  • 前言
  • 一、拖入NPC
  • 二、添加碰撞器
  • 三、使用玩家发射射线的方式检测是否有NPC
  • 四、 给NPC添加对话框
  • 五、给NPC添加脚本
  • 六、设置提示框
  • 七、NPC对话自定义
  • 系列链接




前言

本文章是我学习Unity官方项目项目所做笔记,作为学习Unity的游戏笔记,在最后一章会发出源码,如果等不及可以直接看源码,里面也有很多注释相关,话不多说,让Ruby动起来!
游戏引擎:Unity2020.3


一、拖入NPC


调整动画速度 (ctrl + 6)


二、添加碰撞器

调整大小


三、使用玩家发射射线的方式检测是否有NPC

使用玩家发射射线的方式检测是否有NPC,

设置NPC层级,使射线只会跟NPC层级交互


四、 给NPC添加对话框

添加UI-Canvas

修改 画布为world Space,并修改对话框大小



稍微调整位置

添加背景图片

选择素材

选择锚点,按住Alt键,选择右下角的这个,进行画布填充


创建文本


添加outline使文字更加清晰


五、给NPC添加脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
// NPC交互相关脚本
public class NPCmanager : MonoBehaviour

public GameObject dialogImage; // 对话
// 对话框显示时间
public float showTime = 4;
public float showTimer;
private void Start()

// 初始默认隐藏对话框
dialogImage.SetActive(false);
showTimer = -1;

private void Update()


showTimer -= Time.deltaTime;
if(showTimer < 0)

dialogImage.SetActive(false);



// 显示对话框
public void ShowDialog()

showTimer &#61; showTime;
dialogImage.SetActive(true);


将DialogFrame拖入脚本


六、设置提示框




设置对话时让提示框消失


设置提示框在对话框结束后出现

将对话框拖入进去


七、NPC对话自定义

在NPC脚本中添加

设置文本

将NPC下的TEXT拖入

获得同一个tag下的物品数量
设置robot的tag为Robot




系列链接

Ruby‘s Adventrue游戏制作笔记&#xff08;一&#xff09;Unity创建项目

Ruby‘s Adventrue游戏制作笔记&#xff08;二&#xff09;Unity控制ruby移动

Ruby‘s Adventrue游戏制作笔记&#xff08;三&#xff09;Unity使用tilemap绘制场景

Ruby‘s Adventrue游戏制作笔记&#xff08;四&#xff09;Unity绘制其他元素

Ruby‘s Adventrue游戏制作笔记&#xff08;五&#xff09;Unity解决碰撞抖动和旋转问题

Ruby‘s Adventrue游戏制作笔记&#xff08;六&#xff09;Unity相机跟随玩家移动

Ruby‘s Adventrue游戏制作笔记&#xff08;七&#xff09;Unity采集生命道具

Ruby‘s Adventrue游戏制作笔记&#xff08;八&#xff09;Unity伤害陷阱

Ruby‘s Adventrue游戏制作笔记&#xff08;九&#xff09;Unity添加敌人

Ruby‘s Adventrue游戏制作笔记&#xff08;十&#xff09;Unity添加动画

Ruby‘s Adventrue游戏制作笔记&#xff08;十一&#xff09;Unity角色攻击——发射子弹

Ruby‘s Adventrue游戏制作笔记&#xff08;十二&#xff09;Unity给角色添加简单的特效

Ruby‘s Adventrue游戏制作笔记&#xff08;十三&#xff09;Unity血条UI的显示

Ruby‘s Adventrue游戏制作笔记&#xff08;十四&#xff09;Unity播放游戏音效

Ruby‘s Adventrue游戏制作笔记&#xff08;十五&#xff09;UnityNPC对话

Ruby‘s Adventrue游戏制作笔记&#xff08;十六&#xff09;Unity子弹数量及其UI

Ruby‘s Adventrue游戏制作笔记&#xff08;十七&#xff09;Unity添加游戏胜利条件和失败条件和导出游戏


推荐阅读
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • c# – UWP:BrightnessOverride StartOverride逻辑 ... [详细]
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
  • 在寻找轻量级Ruby Web框架的过程中,您可能会遇到Sinatra和Ramaze。两者都以简洁、轻便著称,但它们之间存在一些关键区别。本文将探讨这些差异,并提供详细的分析,帮助您做出最佳选择。 ... [详细]
  • 深入分析十大PHP开发框架
    随着PHP技术的发展,各类开发框架层出不穷,成为了开发者们热议的话题。本文将详细介绍并对比十款主流的PHP开发框架,旨在帮助开发者根据自身需求选择最合适的工具。 ... [详细]
  • 在使用Rails Paperclip插件与AWS S3进行文件管理时,遇到了`exists?`和`clear`方法调用时出现的`AWS::S3::Errors::BadRequest`错误。本文探讨了问题的原因及可能的解决方案。 ... [详细]
  • 本文详细解析了 MySQL 中的 ibdata1 文件,探讨其存储内容、快速增长的原因及解决策略。 ... [详细]
  • 开发笔记:三分钟快速搭建分布式高可用的Redis集群
    开发笔记:三分钟快速搭建分布式高可用的Redis集群 ... [详细]
  • 本文探讨了Go语言(Golang)的学习价值及其在Web开发领域的应用潜力,包括其独特的语言特性和为什么它是现代软件开发的理想选择。 ... [详细]
author-avatar
phpyang
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有